<?php

require_once 'SessionController.php';
if(!verificaLogin())return;
if(!verificaTorneo())return;

require_once '../../../../Utils/Conexion.php';
require_once '../../../Utils/RefreshData.php';


//VARIABLES 
$torneo = $_SESSION["torneo"];
$accion = (isset($_POST["accion"]))? $_POST["accion"]:"LOAD";

//ACCIONES
if ($accion === "REORGANIZAR") {
    reorganizar();
} else {
    refreshData();
}

function getTorneoData(){
    global $torneo;
    $query = "SELECT * FROM poker_torneos WHERE id = ".$torneo['id']." AND finalizado IS FALSE LIMIT 1";
    $consulta = consultar($query);
    if($consulta) {
        $_SESSION['torneo'] = $consulta[0];
        $torneo = $_SESSION['torneo'];
    } else {
        unsetTorneo();
    }
}

function refreshData(){
    global $torneo;
    //ACTUALIZA TODOS LOS DATOS DEL TORNEO
    refreshTorneoData($torneo['id']);
    getTorneoData();
}

function reorganizar() {
    global $torneo;
    
    //VALIDACION
//    if($torneo['habilitar_juego']==1) {
//        die("EL TORNEO DEBE ESTAR FINALIZADO PARCIALMENTE!!!");
//    }
    if($torneo['finalizado']==1) {
        die("ESTE TORNEO YA SE ENCUENTRA TOTALMENTE FINALIZADO...");
        unsetTorneo();
    }
    
    $query = "SELECT id FROM poker_specifics 
              WHERE poker_torneo_id = ".$torneo['id']." 
              AND estado != 'ELIMINADO' 
              AND estado != 'DESCALIFICADO' 
              ORDER BY RAND()";
    
    $participantes = consultar($query);
    
    if(!$participantes) {
        die("NO SE PUDO OBTENER LA LISTA DE PARTICIPANTES.");
    }
    
    $cantidad = sizeof($participantes);
    
    $totalMesas = ceil($cantidad / $torneo['jugadores_x_mesa']);
    
    $mesa = 1;
    $posicion = 1;
    $query = "";
    foreach ($participantes as $p) {
        $query.= "UPDATE poker_specifics SET mesa_numero = $mesa, mesa_posicion = $posicion WHERE id = ".$p['id']." LIMIT 1; ";
        if($mesa < $totalMesas) {
            $mesa++;
        } else {
            $mesa = 1;
            $posicion++;
        }
    }
    
    $query.= "INSERT INTO poker_movimientos (poker_torneo_id, usuario_id, tipo, descripcion) 
              VALUES (".$torneo['id'].", ".$_SESSION['usuario']['id'].", 'REORGANIZACION', 'REORGANIZACION DE $cantidad PARTICIPANTES EN $totalMesas MESAS);";
    
    if(multiQuery($query)) {
        echo "OK";
    } else {
        echo "NO SE PUDO REORGANIZAR A LOS PARTICIPANTES.";
    }
}